const fs = require("fs");
const path = require("path");
const os = require("os");

// 我自己写的
let allFiles = fs.readdirSync(__dirname); //一个包含当前所有文件夹内容的数组。文件和文件夹都会读取
// console.log("dirname", __dirname);
// console.log("allFiles", allFiles);
// 读取该文件夹下面具体哪一个文件
function my_readFileSync(filePath){
	return fs.readFileSync(filePath,'utf-8',(err,data)=>{
		if(err){
			console.log(err);
			return;
		}
		// console.log(data);
        console.log('读取成功');
	})
}
// console.log(my_readFileSync('test.txt'));
//  我也来写一个 验证结尾后缀是否为真
/**
 * update file
 * @param  str 文件的名字
 * @param appoint 文件后缀名
 * @returns 布尔值
 */
function my_validationEnd(str, appoint) {
  // 不区分大小写全部转换成小写。
  str = str.toLowerCase();
  let tempArr = str.split(".");
  let endStr = tempArr[tempArr.length - 1];
  if (appoint === endStr) {
    return true;
  }
  return false;
}
// 过滤数组的方法，返回我想要的文件类型的数组

function type_arr(arr, typeStr) {
  let newArr = [];
  for (let i in arr) {
    if (my_validationEnd(arr[i], typeStr)) {
      newArr.push(arr[i]);
    }
  }
  return newArr;
}
// 把我要的JS格式的文件全部追加复制到一个新的文件里面。目录，格式，新文件名字
function my_appendFile(newFile, fileType) {
  let typeArray = type_arr(allFiles, fileType);
  //   console.log("我要的格式的数组", typeArray);
  /* let test=my_readFileSync('read.js')
  console.log(56,my_readFileSync('test.txt'));return; */
  for (let i in typeArray) {
    fs.appendFileSync(newFile, my_readFileSync(typeArray[i]) + os.EOL);
  }
}
// my_appendFile('test333.txt','js')
my_appendFile('test4444.txt','txt')


